$(document).ready(function(){
  
     var sigmaHlimb=0, H, sigmaH=0, SH=0, termo="", Khbeta, Ka, geartype, htvalue, gearlocation, Psiba, u, T2, aw, aw_buf,
     aw_preferred, mn1, mn2, mn_final;
     var ht = $("#heat_treatment");
	 var hls=$("#hls");
     var geartypeObj = $("input:radio[name=Вид зубчатой передачи]");
     var cw = $("#crownwidth");
     var sm = $("#size-main");
     var mod = $("#mod");
     var modf = $("#modf");
     var tilt = $("#tilt");
     var awar = [40, 50, 63, 71, 80, 90, 100, 112, 125, 140, 160, 180, 200, 224, 250, 280, 315, 355, 400, 450, 500, 560, 630, 710, 800, 900, 1000, 1120, 1250, 1400, 1600, 1800, 2000, 2240, 2500]; 
     var mnar = [1, 1.25, 1.375, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.5, 4, 4.5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22];
     var mnar_preferred = [];
     
     var info = $("#info");
     var itext = $("#itext");
     var vars = {};
     var buu;
     var j=0;
     var thisupname;
     var thisname;
     var thisval;
     var thatval;
     var hh;
     $("input, select").change(function(){
    	
    	 $("#info").fadeIn(1000);
/*   --  С неупорядоченным выводом
  //  	 $(this).attr("name")
    	 	
 //   	 vars[$(this).attr("name")]="<div name='"+$(this).attr("name")+"'>"+$(this).attr("name")+" = "+vars[$(this).attr("name")]+"</div>"	 	
//    	 alert(vars.thisname);
    	 if(vars[$(this).attr("name")]==$(this).attr("name")){
//    		 alert("Aaa");
    		 $("#itext div[name='"+$(this).attr("name")+"']").html($(this).attr("name")+" = "+$(this).val());
    	 }
    	 else{
//    	 alert(vars[$(this).attr("name")]+" "+$(this).val());
//    	 vars[$(this).attr("name")]=$(this).val();
    	 vars[$(this).attr("name")]=$(this).attr("name");
    		 $("#itext").append("<div name='"+$(this).attr("name")+"'>"+$(this).attr("name")+" = "+$(this).val()+"</div>");
    	 }
*/    	
 // --  С упорядоченным выводом   


    	 thisname = $(this).attr("name");
    	 if(thisname.length>10 && thisname.length<25){
    		 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    			 $("#info").animate({"height":"+=22px"}, "fast");
    		 	 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline dn").html("<div style='color:#c2cbd3;'>"+$(this).attr("name")+": </div><div style=''>"+$(this).val()+"</div>").fadeIn(2000);
    		 }
    		 else{
    			 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline dn").html("<div style='color:#c2cbd3;'>"+$(this).attr("name")+": </div><div style=''>"+$(this).val()+"</div>").fadeIn(2000);
    		 }	 
    		 vars[$(this).attr("name")]=$(this).attr("name");
    	 }
    	 else if(thisname.length>30){
    		 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    			 $("#info").animate({"height":"+=61px"}, "fast");
    			 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline dn").html("<div style='color:#c2cbd3;'>"+$(this).attr("name")+": </div><div style=''>"+$(this).val()+"</div>").fadeIn(2000);
    		 }
    		 else{
    			 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline dn").html("<div style='color:#c2cbd3;'>"+$(this).attr("name")+": </div><div style=''>"+$(this).val()+"</div>").fadeIn(2000);
    		 }
    		 vars[$(this).attr("name")]=$(this).attr("name");
    	 }
    	 else {
    		 if(thisname == "H"){
    			 thatval = $("#heat_treatment").val();
    		//	 $("#info").animate({"height":"+=22px"}, "fast");
    			 switch (thatval){
    			 case "Нормализация или улучшение":
    				 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    					 $("#info").animate({"height":"+=22px"}, "fast");
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HB</sub></span> = "+$(this).val());
    				 }
    				 else{
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HB</sub></span> = "+$(this).val());
    				 }
    				 break
    			 case "Объемная закалка":
    				 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    					 $("#info").animate({"height":"+=22px"}, "fast");
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HRC</sub></span> = "+$(this).val());
    				 }
    				 else{
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HRC</sub></span> = "+$(this).val());
    				 }
    				 break
    			 case "Поверхностная закалка":
    				 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    					 $("#info").animate({"height":"+=22px"}, "fast");
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HRC</sub></span> = "+$(this).val());
    				 }
    				 else{
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HRC</sub></span> = "+$(this).val());
    				 }	 
    				 break
    			 case "Цементация или нитроцементация":
    				 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    					 $("#info").animate({"height":"+=22px"}, "fast");
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HRC</sub></span> = "+$(this).val());
    				 }
    				 else{
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HRC</sub></span> = "+$(this).val());
    				 }
    				 break
    			 case "Азотирование":
    				 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    					 $("#info").animate({"height":"+=22px"}, "fast");
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HV</sub></span> = "+$(this).val());
    				 }
    				 else{
    					 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HV</sub></span> = "+$(this).val()); 
    				 }
    				 break
    	//		 default : $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("H = "+$(this).val());
    			 }
    			 vars[$(this).attr("name")]=$(this).attr("name");
    		 }
    		 else if(thisname == "T2"){
    			 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    				 $("#info").animate({"height":"+=22px"}, "fast");
    				 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("T<sub>2</sub> = "+$(this).val());
    				 vars[$(this).attr("name")]=$(this).attr("name");
    			 }
    			 else{
    				 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("T<sub>2</sub> = "+$(this).val());
    			 }
    		 }
    		 else if(thisname=="crownwidth"){
    			 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    				 $("#info").animate({"height":"+=22px"}, "fast");
    				 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("&#936;<sub>ba</sub> = "+$(this).val());
    				 vars[$(this).attr("name")]=$(this).attr("name");
    			 }
    			 else{
    				 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("&#936;<sub>ba</sub> = "+$(this).val());
    			 }
    		 }
    		 else{
    			 if(vars[$(this).attr("name")]!=$(this).attr("name")){
    				 $("#info").animate({"height":"+=22px"}, "fast");
    				 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html($(this).attr("name")+" = "+$(this).val());
    				 vars[$(this).attr("name")]=$(this).attr("name");
    			 }
    			 else{
    				 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html($(this).attr("name")+" = "+$(this).val());
    			 }
    		 }
    	 }
    //	 $("#info").
     });
     
     geartypeObj.change(function() {
    	 if($(this).val()=="Прямозубая"){
    		 cw.html("<option></option><option value='0.1'>0.1</option><option value='0.125'>0.125</option><option value='0.16'>0.16</option><option value='0.25'>0.25</option>");
    		 $("#tiltf").remove();
    	 }		 
    	 else if($(this).val()=="Косозубая"){
    		 cw.html("<option></option><option value='0.25'>0.25</option><option value='0.315'>0.315</option><option value='0.4'>0.4</option><option value='0.63'>0.63</option>");
    		 modf.after("<fieldset id='tiltf' class='ui-widget-content m10'><legend class='fwb'>Угол наклона линии зуба</legend><input id='tilt' class='ui-corner-all m10 ui-state-default' type='text' maxlength=4></fieldset>");
    	 }
	 });
    
     ht.change(function(){
     htvalue = $(this).val();
		   switch (htvalue){
		   case "Нормализация или улучшение":
			   hh="H<sub>HB</sub>";
			   hls.html(hh+" &#8804 350");
			   $("[name=hh]").html(hh)
			   break
		   case "Объемная закалка":
			   hh="H<sub>HRC</sub>";
			   hls.html(hh+" = 40 - 50");
			   $("[name=hh]").html(hh)
			   break
		   case "Поверхностная закалка":
			   hh="H<sub>HRC</sub>";
			   hls.html(hh+" = 40 - 56");
			   $("[name=hh]").html(hh)
		   	   break
		   case "Цементация или нитроцементация":
			   hh="H<sub>HRC</sub>";
			   hls.html(hh+" = 54 - 64");
			   $("[name=hh]").html(hh)
			   break
		   case "Азотирование":
			   hh="H<sub>HV</sub>";
			   hls.html(hh+" = 550 - 750");
			   $("[name=hh]").html(hh)
			   break
		   } 
     });
 
     $("#calculate1").click(function() {
    	geartype = $("input:radio[name=Вид зубчатой передачи]:checked").val();// to change link
    	H = $("#hardness").val();
        gearlocation = $("#gearlocation").val();
    	htvalue = ht.val();
    	Psiba = cw.val();
        u = $("#gear-ratio").val();
    	T2 = $("#torque").val();
    	switch (htvalue){
    	   case "Нормализация или улучшение":
    		   sigmaHlimb = 2*H+70;
    		   SH=1.1;
    		   break
    	   case "Объемная закалка":
    		   sigmaHlimb = 18*H+150;
    		   SH=1.2;
    		   break
    	   case "Поверхностная закалка":
    		   sigmaHlimb=17*H+200;
    		   SH=1.2;
    	   	   break
    	   case "Цементация или нитроцементация":
    		   sigmaHlimb = 23*H;
    		   SH=1.2;
    		   break
    	   case "Азотирование":
    		   sigmaHlimb = 1050;
    		   SH=1.2;
    		   break
    	   }
    	if (geartype == "Прямозубая"){
    	 	if (htvalue == "Нормализация или улучшение"){
        		sigmaH=(2*(H-25)+70)/SH;
        	}    
    	        Ka = 49.5;
        }
    	else if(geartype == "Косозубая"){
        	if (htvalue == "Нормализация или улучшение"){
	    		sigmaH = (0.45*(4*H+90))/SH;
	    	}
        		Ka = 43;
        }
    	if (htvalue == "Нормализация или улучшение"){
    		switch (gearlocation){
    		case "Симметричное":
    			Khbeta = 1.075;
    			break
    		case "Несимметричное":
    			Khbeta = 1.175;
    			break
    		case "Консольное":
    			Khbeta = 1.275;
    			break
    		}
    	}	
    	else{
    		 switch (gearlocation){
	    		case "Симметричное":
	    			Khbeta = 1.15;
	    			break
	    		case "Несимметричное":
	    			Khbeta = 1.25;
	    			break
	    		case "Консольное":
	    			Khbeta = 1.35;
	    			break
	        }
    	} 	
	    	sigmaH=sigmaHlimb/SH; 
	    	 aw=Ka*(u+1)*(Math.pow(((T2*Khbeta)/(Math.pow(sigmaH, 2)*Math.pow(u, 2)*Psiba)), 0.333));
	    	 aw_buf = aw;//
	    //	 aw_buf = 1225;
	    	
	    	var i=0, buf1, buf2;
	    		while (isNaN(aw_preferred)){
		    		if(aw_buf!=awar[i]){	
		    			if(aw_buf>=awar[i] && aw_buf<=awar[i+1]){
		    				buf1 = (awar[i+1] - awar[i])/2;
		    				buf2 = aw_buf - awar[i];
		    			//	alert(awar[i]+" "+awar[i+1]+" "+buf1+" "+buf2);
		    				if(buf2<buf1)aw_preferred = awar[i];
		    				else if (buf2>=buf1) aw_preferred = awar[i+1];
		    			}
		    			else{
		    				i++;
		    			}
		    		}	
		    		else{
		    			aw_preferred = awar[i];
		    		}	
	    		}
//    alert(" aw = "+aw+" aw_buf = "+aw_buf+ " aw_preferred = "+aw_preferred);
    	
 	    mn1 = aw_preferred*0.01;
 	    mn2 = aw_preferred*0.02;
 	    var j=0;
 	    	for (var i=0; i<mnar.length; i++) {
 	    		if(mnar[i]>=mn1 && mnar[i]<=mn2){
 	    			mnar_preferred[j] = mnar[i];
 	    			j++;	    			                         
 	    		}		    		
 	    	};
// 	   alert("mn1 = "+mn1+" mn2 = "+mn2+" mar_preferred = "+mnar_preferred[0]+", "+mnar_preferred[1]+", "+mnar_preferred[2]);
 	   mod.empty();
 	   for (var i=0; i<mnar_preferred.length; i++) {
 		   	mod.append("<option value='"+mnar_preferred[i]+"'>"+mnar_preferred[i]+"</option>");
 	   }; 
 	  //--------out 
 	   var calc1="<div><span >sigmaHlimb</sub></span> = "+sigmaHlimb+"</div>"+
 	   			 "<div><span >SH</sub></span> = "+SH+"</div>"+
			 	 "<div><span >sigmaH</sub></span> = "+sigmaH+"</div>"+
			 	 "<div><span >Ka</sub></span> = "+Ka+"</div>"+
			 	 "<div><span >Khbeta</sub></span> = "+Khbeta+"</div>"+
			 	 "<div><span >aw расчетное</sub></span> = "+aw+"</div>"+
 	   			 "<div><span >aw выбраное</sub></span> = "+aw_preferred+"</div>";
 	   
 	   	 if(vars[$(this).attr("name")]!=$(this).attr("name")){
			 $("#info").animate({"height":"+=140px"}, "fast");
			 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html(calc1);
			 vars[$(this).attr("name")]=$(this).attr("name");
		 }
		 else{
			 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html(calc1);
		 }
 	   
//    	alert("geartype = "+geartype+" htvalue = "+htvalue+" sigmaHlimb = "+sigmaHlimb+" sigmaH = "+sigmaH+" Ka = "+Ka+" Khbeta = "+Khbeta+" Psiba = "+Psiba+" T2 = "+T2+" u = "+u+" -= aw = "+aw+" =-, aw_preferred = "+aw_preferred+" "+calc1);   	
	});
 
     var beta, betacor, zsum, z1, z2, awcor, d1, d2, df1, df2, da1,da2, b1, b2, alphaw, xsum, x1, x2;

     $("#calculate2").click(function() {
    	 m_final = mod.val();
    	 if(geartype == "Косозубая"){
    		 beta = $("#tilt").val();
	    	 zsum = (2*aw_preferred*Math.cos(0.01745329*beta))/m_final;
	    	 z1 = Math.round(zsum/parseFloat(u)+1);
	    	 z2 = Math.round(zsum-z1);
	    	 awcheck = 0.5*(z1+z2)*(m_final/Math.cos(0.01745329*beta));
	    	 if(awcheck != aw_preferred){
	    		var betacor=57.2957795*(Math.acos(0.5*(z1+z2)*(m_final/aw_preferred)));
	    	 }
    	
	    	 d1 = (m_final/Math.cos(0.01745329*betacor))*z1;
	    	 d2 = (m_final/Math.cos(0.01745329*betacor))*z2;
	    	 da1 = d1 + 2*m_final;
	    	 da2 = d2 + 2*m_final;
	    	 b2 = Psiba*aw_preferred;
	    	 b1 = b2+5;
	 /*   	 
	    	 if(vars[$(this).attr("name")]!=$(this).attr("name")){
				 $("#info").animate({"height":"+=20px"}, "fast");
				 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HRC</sub></span> = "+$(this).val());
				 vars[$(this).attr("name")]=$(this).attr("name");
			 }
			 else{
				 $("#itext div[name='"+$(this).attr("name")+"']").addClass("ioutline").html("<span name='hh'>H<sub>HRC</sub></span> = "+$(this).val());
			 }
	   */ 	 
	    	 
	    	 alert("beta = "+beta+" m_final = "+m_final+" zsum = "+zsum+" z1 = "+z1+" z2 = "+z2+" awcheck = "+awcheck+" betacor = "+betacor+" d1="+d1+" d2="+d2+" da1="+da1+" da2="+da2+" b1="+b1+" b2="+b2);
     	}
     	else if(geartype == "Прямозубая"){
     		zsum = Math.round((2*aw_preferred)/m_final);
     		z1 = Math.round(zsum/(parseFloat(u)+1));
     		z2 = Math.round(zsum-z1);
     		alphaw = Math.acos(((m_final*(z1+z2))/(2*aw_preferred))*0.9396926);
     		xsum = (2.74747*(z1+z1))*(Math.tan(alphaw)-alphaw-0.014904);
     		$("#xsum").text(xsum);
     		$("#chooseX").dialog("open"); // или сделать ф-ю с возвратом х1 для кнопки ок - поставим проверку на наличие штмля     		
     		$("#chooseX").dialog({close: function(){
     			x1 = $("#x1").val();
	     		x2 = xsum - x1;
	     		d1=m_final*z1;
	     		d2=m_final*z2;
	     		df1=m_final*(z1-2.5+2*x1);
	     		df2=m_final*(z2-2.5+2*x2);
	     		da1=2*aw_preferred-df2-0.5*m_final;
	     		da2=2*aw_preferred-df1-0.5*m_final;
	     		alert("zsum = "+zsum+" z1 = "+z1+" z2 = "+z2+" alphaw = "+alphaw+" xsum = "+xsum+" ; x1="+x1+" x2="+x2+" d1="+d1+" d2="+d2+" df1="+df1+" df2="+df2+" da1="+da1+" da2="+da2);
	     		}
     		});		
     	}
     });

     
});

















